package com.mhc.suzuki.manager;

import com.mhc.suzuki.dal.model.DataDictDO;
import com.mhc.suzuki.dal.query.DataDictQuery;
import com.subaru.common.query.PageResult;

import java.util.List;


/**
 * Manager for DataDict.
 */
public interface DataDictManager {
  /**
   * query count by query condition.
   */
  int countByQuery(DataDictQuery query);

  /**
   * delete by query condition.
   */
  int deleteByQuery(DataDictQuery query);

  /**
   * delete by primary key.
   */
  int deleteByPrimaryKey(DataDictDO record);

  /**
   * insert selective.
   */
  long insertSelective(DataDictDO record);

  /**
   * select by query condition.
   */
  List<DataDictDO> selectByQuery(DataDictQuery query);


  /**
   * select by query condition with page.
   */
  PageResult<DataDictDO> selectByQueryWithPage(DataDictQuery query);

  /**
   * select by primary key.
   */
  DataDictDO selectByPrimaryKey(Long id);

  /**
   * update by query condition selective.
   */
  int updateByQuerySelective(DataDictDO record, DataDictQuery query);

  /**
   * update by query condition.
   */
  int updateByQuery(DataDictDO record, DataDictQuery query);

  /**
   * update by primary key selective.
   */
  int updateByPrimaryKeySelective(DataDictDO record);
}
